Multiple seesawing panels

ABSTRACT

A computing device is described that receives an indication of a first gesture received at an input device. Responsive to receiving the indication of the first gesture, the computing device outputs, for display, a first information panel having a size. The computing device receives an indication of a second gesture received at the input device. The second gesture has a gesture length. Responsive to receiving the indication of the second gesture, the computing device outputs, for display, an updated graphical user interface that includes the first information panel and a second information panel. The second information panel has a panel length that corresponds to the gesture length of the second gesture.

This application is a Continuation of application Ser. No. 13/670,184,filed on Nov. 6, 2012, which claims the benefit of U.S. ProvisionalApplication No. 61/714,595, filed Oct. 16, 2012, the entire content ofeach of which are hereby incorporated by reference.

BACKGROUND

Mobile computing devices (e.g., mobile phones and tablet computingdevices) typically include a presence-sensitive screen for displayinginformation to and receiving input from a user. Many such mobile devicesallow the user to provide touch inputs at the presence-sensitive screenusing, e.g., a finger and/or stylus pen. These mobile computing devicesmay display, at the presence-sensitive screen, multiple information andcontrol panels, but because the screen is typically small, these panelsmay share the same trigger region (e.g., the region of the screen forreceiving input from the user to activate the panel displayed on thescreen). As such, mobile computing devices may have difficultydisambiguating which information or control panel to activate based on auser input, thus preventing the user from easily and quickly accessingmultiple information or control panels on the devices.

SUMMARY

In one example, the disclosure is directed to a method that may includereceiving, by a computing device, an indication of a first gesturereceived at an input device. Responsive to receiving the indication ofthe first gesture, the method may include outputting, by the computingdevice, for display, a first information panel having a size. The methodmay further include receiving, by the computing device, an indication ofa second gesture received at the input device, the second gesture havinga gesture length. Responsive to receiving the indication of the secondgesture, the method may include outputting, by the computing device, fordisplay, an updated graphical user interface that includes the firstinformation panel and a second information panel. The second informationpanel may have a panel length that corresponds to the gesture length ofthe second gesture.

In another example, the disclosure is directed to a computing devicecomprising one or more processors. The computing device may furthercomprise a gesture module operable by the one or more processors toreceive an indication of a first gesture received at an input device,and receive an indication of a second gesture received at the inputdevice. The second gesture may have a gesture length. The computingdevice may further comprise a user interface module operable by the oneor more processors to, responsive to the gesture module receiving theindication of the first gesture, output, for display, a firstinformation panel having a size. The user interface module may,responsive to the gesture module receiving the indication of the secondgesture, output, for display, an updated graphical user interface thatincludes the first information panel and a second information panel. Thesecond information panel may have a panel length that corresponds to thegesture length of the second gesture.

In another example, the disclosure is directed to a computer-readablestorage medium comprising instructions that, when executed, configureone or more processors of a computing device to receive an indication ofa first gesture detected at an input device. Responsive to receiving theindication of the first gesture, the instructions may further configurethe one or more processors of the computing device to output, fordisplay, a first information panel having a size. The instructions mayfurther configure the one or more processors of the computing device toreceive an indication of a second gesture received at the input device.The second gesture may have a gesture length. Responsive to receivingthe indication of the second gesture, the instructions may furtherconfigure the one or more processors of the computing device to output,for display, an updated graphical user interface that includes the firstinformation panel and a second information panel. The second informationpanel may have a panel length that corresponds to the gesture length ofthe second gesture.

The details of one or more examples are set forth in the accompanyingdrawings and the description below. Other features, objects, andadvantages of the disclosure will be apparent from the description anddrawings, and from the claims.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a conceptual diagram illustrating an example computing devicethat is configured to display multiple seesawing information panels, inaccordance with one or more aspects of the present disclosure.

FIG. 2 is a block diagram illustrating an example computing device, inaccordance with one or more aspects of the present disclosure.

FIGS. 3A-3D are conceptual diagrams illustrating example graphical userinterfaces for presenting multiple seesawing information panels, inaccordance with one or more aspects of the present disclosure.

FIGS. 4A-4D are conceptual diagrams illustrating additional examplegraphical user interfaces for presenting multiple seesawing informationpanels, in accordance with one or more aspects of the presentdisclosure.

FIG. 5 is a flowchart illustrating an example operation of the computingdevice, in accordance with one or more aspects of the presentdisclosure.

DETAILED DESCRIPTION

Techniques of this disclosure may enable a computing device to receiveuser input that quickly and easily triggers multiple information panelsdisplayed at a screen (e.g., a presence-sensitive screen of thecomputing device). In some implementations, the computing device can,responsive to a user gesture received at the presence-sensitive screen,display a first information panel at the presence-sensitive screen, and,responsive to detection of a subsequent gesture, display a secondinformation panel at the presence-sensitive screen. The computing devicemay display each information panel at the presence-sensitive screenbased on an order of when the computing device received these gesturesand/or locations where the computing device received these gestures. Thecomputing device may present these information panels having adynamically varying size and/or length based on these gesture inputs.

In this manner, the computing device can more clearly presentinformation panels and can clearly indicate which information panelrepresents an active information panel. Techniques of this disclosuremay enable the computing device to display information panels that auser can quickly and easily interact with. The computing device mayreceive fewer inputs from a user that cause the computing device toactivate and/or display the wrong information panel. In turn, thecomputing device may receive fewer false inputs from the user, and assuch, perform fewer operations and consume less electrical power.

FIG. 1 is a conceptual diagram illustrating an example computing devicethat is configured to display multiple seesawing information panels, inaccordance with one or more aspects of the present disclosure. In theexample of FIG. 1, computing device 10 is a tablet computer. However, inother examples, computing device 10 may be a mobile phone, a personaldigital assistant (PDA), a laptop computer, a portable gaming device, aportable media player, an e-book reader, a watch, or another type ofportable or mobile computing device.

Although discussed below with respect to a computing device thatreceives input at a presence-sensitive screen and outputs for display toa presence-sensitive screen, the use of a presence-sensitive screen foreither input or output should not be construed to be in any waylimiting. For instance, in some examples, rather than receive a userinput from a presence-sensitive screen, the user input is received froma track pad or depth camera. In some examples, rather than output fordisplay to a presence-sensitive screen, the computing device 10 outputsfor display to a projector, a monitor, or other display device.

As shown in FIG. 1, computing device 10 includes a user interface device(UID) 12. UID 12 of computing device 10 may function as an input devicefor computing device 10 and as an output device. UID 12 may beimplemented using various technologies. For instance, UID 12 mayfunction as an input device using a resistive touchscreen, a surfaceacoustic wave touchscreen, a capacitive touchscreen, a projectivecapacitance touchscreen, a pressure sensitive screen, an acoustic pulserecognition touchscreen, or another presence-sensitive screentechnology. UID 12 may function as an output device using any one ormore of a liquid crystal display (LCD), dot matrix display, lightemitting diode (LED) display, organic light-emitting diode (OLED)display, e-ink, or similar monochrome or color display capable ofoutputting visible information to the user of computing device 10.

UID 12 of computing device 10 may include a presence-sensitive screenthat may receive tactile user input from a user of computing device 10.UID 12 may receive the tactile user input by detecting one or more tapsand/or gestures from a user of computing device 10 (e.g., the usertouching or pointing to one or more locations of UID 12 with a finger ora stylus pen). The presence-sensitive screen of UID 12 may presentoutput to a user. UID 12 may present the output as a user interface(e.g., user interface 14) which may be related to functionality providedby computing device 10. For example, UID 12 may present variousfunctions and applications executing on computing device 10 such as anelectronic message application, a map application, etc. UID 12 maypresent one or more information and control panels, such as anotification panel that includes notification information for a user anda settings panel that includes system settings information of computingdevice 10.

Computing device 10 may include user interface (“UI”) module 20 andgesture module 24. Modules 20 and 24 may perform operations describedherein using software, hardware, or a mixture of both hardware andsoftware residing in and executing on computing device 10. Computingdevice 10 may execute modules 20 and 24 with multiple processors.Computing device 10 may execute modules 20 and 24 as a virtual machineexecuting on underlying hardware.

UI module 20 may cause UID 12 to present user interface 14. Userinterface 14 includes graphical elements displayed at various locationsof UID 12. FIG. 1 illustrates elements 16A, elements 16B, informationpanel 18A, and information panel 18B, as example graphical elementsincluded as part of user interface 14.

Elements 16A include notification icons (e.g., a new message icon, acalendar reminder icon, an activity icon, an instant message icon, etc.)that may alert a user of a notification received by computing device 10.For example, computing device 10 may execute an electronic mail (e-mail)application. The e-mail application may receive a new message and, inresponse to the new message, the e-mail application may send a newmessage notification to UI module 20. To inform a user of computingdevice 10 about the new message notification from the e-mailapplication, UI module 20 may include a new message icon within elements16A of user interface 14 (shown in FIG. 1 as an envelope). Each ofelements 16A may correspond to various notifications that UI module 20may receive from applications executing on computing device 10. Eachnotification icon may alert a user to new or pending information relatedto each application, without displaying the new or pending informationwithin user interface 14.

Information panel 18A is a notification panel that includes contentrelated to one or more notifications. For example, information panel 18Amay include the new or pending information that corresponds to elements16A. UI module 20 may include the new or pending information as contentwithin information panel 18A. A user of computing device 10 may view thecontent of notifications in information panel 18A. Information panel 18Amay have a corresponding size, length, and width. The length ofinformation panel 18A may indicate a distance between a top edge and abottom edge of information panel 18A when presented on thepresence-sensitive screen of UID 12. Similarly, the width of informationpanel 18A may indicate a distance between a left side edge and a rightside edge of information panel 18A when presented on thepresence-sensitive screen of UID 12. The size of information panel 18Amay indicate an area consumed by information panel 18A when presented onthe presence-sensitive screen of UID 12.

Elements 16B include system status icons. Each of the system statusicons may alert a user to status information about computing device 10.For example, FIG. 1 illustrates system status icons related to Wi-Firadio reception, cellular data reception, battery power, and systemtime.

Information panel 18B is one example of a settings panel that includescontent related to one or more options for adjusting configuring systemsettings. From the settings panel, a user of computing device 10 mayquickly and easily cause computing device 10 to change system settingsof computing device 10, such as turning on or off a Wi-Fi radio coupledto computing device 10, activating airplane mode, and adjusting abrightness of the presence-sensitive screen of UID 12. Other optionswithin information panel 18B may include an option to cause a detailedsettings menu to appear in user interface 14, from which a user canselect additional options for causing computing device 10 to adjustsystem settings. Similar to information panel 18A, information panel 18Bmay have a corresponding size, length, and width.

Gesture module 24 of computing device 10 may receive one or moreindications of user input received at an input device of computingdevice 10 (e.g., the presence-sensitive screen of UID 12). Gesturemodule 24 may determine the user input corresponds to an indication ofone or more user gestures. Gesture module 24 may determine that the userinput corresponds to a gesture performed at the presence-sensitivescreen of UID 12 when a user swipes a finger or a stylus pen from onelocation at the presence-sensitive screen of UID 12 to a secondlocation.

For example, UID 12 may virtually overlay a grid of coordinates onto thepresence-sensitive screen. The grid may assign a coordinate thatincludes a horizontal component (X) and a vertical component (Y) to eachlocation. Each time UID 12 detects user input at the presence-sensitivescreen, gesture module 24 may receive information from UID 12. Theinformation may include one or more coordinate locations and associatedtimes indicating to gesture module 24 both, where UID 12 detects userinput on the presence-sensitive screen, and when UID 12 detects userinput.

Gesture module 24 may assemble the information received from UID 12 intoa time-ordered sequence of motion events. Each motion event in thesequence may include a location component as the coordinate location ofthe user input, a time component as the time associated with the userinput, and an action component. The action component may indicatewhether the motion event corresponds to a push down at thepresence-sensitive screen or a lift up at the presence-sensitive screen.

Gesture module 24 may determine the action component of the first motionevent in the sequence corresponds to a push down event. Gesture module24 may determine the action component of a current motion event in thesequence (different from and subsequent to the first motion event) basedon a previous motion event in the sequence. Gesture module 24 maycompare the time and location components of the current motion eventwith the time and location components of a previous motion event.Gesture module 24 may determine that a large difference in time and/ordistance (e.g., 10 milliseconds and/or 10 pixels) between two motionevents indicates a lift up event, followed by a push down event. Gesturemodule 24 may identify a start location of a gesture as the locationcomponent of a first motion event in the sequence with a push downaction component. Gesture module 24 may identify an end location of agesture as the location component of a first motion event in thesequence with a lift up action component. Gesture module 24 may identifya start location of a second subsequent gesture as the locationcomponent of a first motion event in the sequence with a push downaction component that follows a motion event in the sequence with a liftup action component.

Gesture module 24 may determine a length of a gesture (e.g., a gesturelength) as a distance on the presence-sensitive screen between the startlocation of the gesture and the location component of the last motionevent in the sequence that occurs prior to the motion event in thesequence that includes the end location of the gesture. Gesture module24 may determine a length of a gesture before detecting an end of thegesture. For example, the length of a gesture may increase as thelocation components of motion events in the sequence move away from thestart of the gesture. And prior to the end of the gesture, the length ofthe gesture may decrease as the location components of the motion eventsin the sequence move toward the start location of the gesture.

Prior to computing device 10 receiving an indication of a gesture, UImodule 20 may cause UID 12 to present user interface 14 withoutinformation panels 18A and 18B. Based on an indication of gesture 1received at the presence-sensitive screen of UID 12, UI module 20 maycause UID 12 to output for display (e.g., at the presence-sensitivescreen of UID 12) user interface 14 which includes information panel18A.

For example, gesture module 24 may receive information from UID 12 anddetermine the information indicates UID 12 received gesture 1 at thepresence-sensitive screen (illustrated in FIG. 1 as an index finger of aright human hand sliding from elements 16A in a downward motion).Gesture module 24 may determine a start location of gesture 1 and acurrent length of gesture 1. UI module 20 may receive the start locationand the current length of gesture 1 from gesture module 24 and inresponse, UI module 20 may modify user interface 14. The modification touser interface 14 may include updating user interface 14 to includeinformation panel 18A.

UI module 20 may update the size of information panel 18A based on thecurrent length of gesture 1 so that the size of information panel 18Amay correspond to the length of gesture 1. For example, UI module 20 mayinclude information panel 18A in user interface 14 with a sizeapproximately proportionate to the length of gesture 1. Before gesturemodule 24 detects an end of gesture 1, the current length of gesture 1may increase and/or decrease. UI module 20 may dynamically update thesize of information panel 18A (by increasing and/or decreasing the size)based on changes detected by gesture module 24 in the current length ofgesture 1.

After UI module 20 causes UID 12 to present information panel 18A,gesture module 24 may receive a subsequent indication of a gesturereceived at the presence-sensitive screen of UID 12. Gesture module 24may process the subsequent indication as gesture 2 (illustrated in FIG.1 as an index finger of a left human hand sliding from elements 16B in adownward motion). Gesture module 24 may determine a start location ofgesture 2 and a current length of gesture 2 (e.g., a gesture length ofgesture 2). UI module 20 may receive the start location and the currentlength of gesture 2 from gesture module 24.

Responsive to receiving the subsequent indication of the gesturereceived at the presence-sensitive screen of UID 12, UI module 20 mayupdate user interface 14 based on the current length of gesture 2. Inone example, UI module 20 may increase the length (e.g., the panellength) of information panel 18B approximately proportionate to thecurrent length of gesture 2. In another example, in addition toincreasing the length of information panel 18B approximatelyproportionate to the current length of gesture 2, UI module 20 mayreduce the size of information panel 18A approximately proportionate tothe current length of gesture 2. In another example, UI module 20 maymodify user interface 14 to remove information panel 18A in response togesture 2.

For instance, FIG. 1 includes decreasing arrow 6 to illustrate the sizeof information panel 18A decreasing as the current length of gesture 2increases. UI module 20 may cause UID 12 to output for display on thepresence-sensitive screen, information panel 18B, with the length ofinformation panel 18B dynamically updating based on the current lengthof gesture 2. In addition, UI module 20 may cause UID 12 to output fordisplay on the presence-sensitive screen, information panel 18A with thesize of information panel 18A dynamically updating based on the currentlength of gesture 2 (e.g., by reducing the length of information panel18A as the current length of gesture 2 increases, etc.). UI module 20may likewise cause UID 12 to refrain from outputting (e.g., to remove)information panel 18A for display on the presence-sensitive screen.

In this way, computing device 10 may output information panels fordisplay at the presence-sensitive screen of UID 12 as seesawinginformation panels. That is, computing device 10 may output for display,an initial information panel and a subsequent information panel thatdynamically increase in length and/or reduce in size based on changesdetected in the length of a gesture.

FIG. 2 is a block diagram illustrating an example computing device, inaccordance with one or more aspects of the present disclosure. Computingdevice 10 of FIG. 2 is described below within the context of FIG. 1.FIG. 2 illustrates only one particular example of computing device 10,and many other examples of computing device 10 may be used in otherinstances and may include a subset of the components included in examplecomputing device 10 or may include additional components not shown inFIG. 2.

As shown in the example of FIG. 2, computing device 10 includes userinterface device 12 (“UID 12”), one or more processors 40, one or moreinput devices 42, one or more communication units 44, one or more outputdevices 46, and one or more storage devices 48. In this example, UID 12also includes presence-sensitive screen 13. Storage devices 48 ofcomputing device 10 also include UI module 20, gesture module 24,operating system 54 and system settings data store 60. UI module furtherincludes panel module 22 while operating system 54 includes notificationservice module 56 and systems settings module 58. Communication channels50 may interconnect each of the components 12, 13, 20, 22, 24, 40, 42,44, 46, 48, 54, 56, 58, and 60 for inter-component communications(physically, communicatively, and/or operatively). In some examples,communication channels 50 may include a system bus, a networkconnection, an inter-process communication data structure, or any othermethod for communicating data.

One or more input devices 42 of computing device 10 may receive input.Examples of input are tactile, audio, and video input. Input devices 42of computing device 10, in one example, includes a presence-sensitivescreen, touch-sensitive screen, mouse, keyboard, track pad, voiceresponsive system, video camera, depth camera, microphone or any othertype of device for detecting input from a human or machine.

One or more output devices 46 of computing device 10 may generateoutput. Examples of output are tactile, audio, and video output. Outputdevices 46 of computing device 10, in one example, includes apresence-sensitive screen, sound card, video graphics adapter card,speaker, cathode ray tube (CRT) monitor, liquid crystal display (LCD),or any other type of device for generating output to a human or machine.

One or more communication units 44 of computing device 10 maycommunicate with external devices via one or more networks bytransmitting and/or receiving network signals on the one or morenetworks. For example, computing device 10 may use communication unit 44to transmit and/or receive radio signals on a radio network such as acellular radio network. Likewise, communication units 44 may transmitand/or receive satellite signals on a satellite network such as a GPSnetwork. Examples of communication unit 44 include a network interfacecard (e.g., an Ethernet card), an optical transceiver, a radio frequencytransceiver, a GPS receiver, or any other type of device that can sendand/or receive information. Other examples of communication units 44 mayinclude Bluetooth®, GPS, 3G, 4G, and Wi-Fi® radios found in mobiledevices as well as Universal Serial Bus (USB) controllers.

FIG. 2 illustrates UID 12 including presence-sensitive screen 13(hereafter “screen 13”). Computing device 10 may use UID 12 as an inputdevice and an output device. For example, screen 13 of UID 12 mayinclude a touchscreen configured to receive tactile user input from auser of computing device 10. Screen 13 of UID 12 may also include an LEDdisplay capable of outputting visible information to the user ofcomputing device 10. UID 12 may present a user interface at screen 13,such as user interface 14 of FIG. 1, and other various functions andapplications executing on computing device 10.

While illustrated as an internal component of computing device 10, UID12 also represents and external component that shares a data path withcomputing device 10 for transmitting and/or receiving input and output.For instance, in one example, UID 12 represents a built-in component ofcomputing device 10 located within and physically connected to theexternal packaging of computing device 10 (e.g., a screen on a tabletcomputer). In another example, UID 12 represents an external componentof computing device 10 located outside and physically separated from thepackaging of computing device 10 (e.g., a track pad used for input and amonitor and/or a projector used for output that share a wired and/orwireless data path with a computer).

One or more storage devices 48 within computing device 10 may storeinformation required for use during operation of computing device 10.For example, operating system 54 of computing device 10 may storeinformation corresponding to one or more system settings of computingdevice 10 within system settings data store 60. Storage devices 48, insome examples, have the primary purpose of being short term and notlong-term computer-readable storage mediums. Storage devices 48 oncomputing device 10 may configured for short-term storage of informationas volatile memory and therefore not retain stored contents if poweredoff. Examples of volatile memories include random access memories (RAM),dynamic random access memories (DRAM), static random access memories(SRAM), and other forms of volatile memories known in the art. Storagedevices 48 may further be configured for long-term storage ofinformation as non-volatile memory space and retain information afterpower on/off cycles. Examples of non-volatile memories include magnetichard discs, optical discs, floppy discs, flash memories, or forms ofelectrically programmable memories (EPROM) or electrically erasable andprogrammable (EEPROM) memories. Storage devices 48 may store programinstructions and/or data associated with UI module 20, panel module 22,gesture module 24, operating system 54, notifications service module 56,system settings module 58, and system settings data store 60.

One or more processors 40 may implement functionality and/or executeinstructions within computing device 10. For example, processors 40 oncomputing device 10 may read and execute instructions stored by storagedevices 48 that execute the functionality of UI module 20, gesturemodule 24, and operating system 54. These instructions executed byprocessors 40 may cause computing device 10 to store information, withinstorage devices 48 during program execution, such as system settingsdata store 60. Processors 40 may execute instructions of modules 20, 22,24, 56, and 58 and operating system 54 to cause UID 12 to presentseesawing information panels at screen 13. That is, modules 20, 22, 24,56, and 58, and operating system 54 may be operable by processors 40 toperform various actions, including detecting gestures from a user andcausing UID 12 to present a user interface at screen 13, such as userinterface 14 of FIG. 1.

Operating system 54 of computing device 10 may manage computer hardwareresources and provide common services for computer programs orapplications executing on computing device 10. Operating system 54 maycontrol the operation of components within computing device 10. Forexample, operating system 54 may manage the interaction betweenapplications executing on computing device 10 and processors 40, UID 12,communication units 44, storage devices 48, input devices 42, and outputdevices 46.

Notification service module 56 of operating system 54 may receivenotifications from various applications executing on computing device 10and send the notifications to UI module 20 for presentation ofinformation related to the notifications at screen 13. System settingsmodule 58 of operating system 54 may manage system state and generalperformance of computing device 10. System settings module 58 may storestate or control information for system settings within system settingsdata store 60. System settings module 58 may send and receive systemsettings data from UI module 20. For example a user may select an optionwithin a user interface (e.g., user interface 14 of FIG. 1) to reduce ascreen brightness. UI module 20 may send an indication of the selectionto system settings module 58. System settings module 58 may cause thebrightness of screen 13 to dim and may store the brightness setting as asystem setting within system settings data store 60. System settingsdata store 60 may store system settings information of computing device10 in the form of one or more of a multidimensional array, a linkedlist, a hash table, or any other data structure type used fororganizing, preserving, and retrieving computing information.

In accordance with aspects of this disclosure, computing device 10 ofFIG. 2 may output information panels for display as seesawinginformation panels. That is, computing device 10 may present informationpanels, such as information panels 18A and 18B of FIG. 1, at screen 13by varying the size and/or length of each information panel based oncharacteristics of gesture inputs received from a user.

For instance, UI module 20 of computing device 10 may cause UID 12 topresent user interface 14 of FIG. 1 at screen 13, including elements 16Aand elements 16B but not yet including information panels 18A or 18B.UID 12 may receive an indication of a user input (e.g., gesture 1 ofFIG. 1) received at screen 13. UID 12 may send information correspondingto the user input over communication channels 50 to operating system 54.Operating system 54 may process the information from UID 12 and send theinformation over communication channels 50 to gesture module 24. Gesturemodule 24 assemble the information and determine UID 12 received anindication of gesture 1 received at screen 13. From the information,gesture module 24 may determine a start location of gesture 1 and acurrent length of gesture 1. The start location of gesture 1 maycorrespond to a location at screen 13 that presents elements 16A.

In response to gesture module 24 processing the information related tothe user input, operating system 54 may send data, including the startlocation and the current length of gesture 1, to UI module 20. UI module20 may receive the data from operating system 54 over communicationchannels 50. From the data, UI module 20 may determine, based on thestart location of gesture 1 and the length of gesture 1, that gesture 1represents a command from the user to present an information panel(e.g., information panel 18A) that includes notification informationwithin user interface 14.

Panel module 22 may send a request to notification service module 56,using communication channels 50, for notification information to includeas content within information panel 18A. In response to the request,panel module 22 may receive and format notification information fromnotification service module 56. UI module 20 may update user interface14 to include the notification information as content within informationpanel 18A. UI module 20 may base the size of information panel 18A onthe current length of gesture 1 (e.g., the size of information panel 18Amay correspond approximately proportionate to the current length ofgesture 1). Using communication channels 50, UI module 20 may transmit adisplay command to UID 12 through operating system 54. The displaycommand may cause UID 12 to output the updated user interface 14 thatincludes information panel 18A for display at screen 13.

UID 12 may receive a subsequent indication of a user input (e.g.,gesture 2 of FIG. 1) received at screen 13. Gesture module 24 assembleinformation received from UID 12 and operating system 54 about thesubsequent user input and determine UID 12 received an indication ofgesture 2 received at screen 13. From the information about thesubsequent user input, gesture module 24 may determine a start locationof gesture 2 and a current length of gesture 2. The start location ofgesture 2 may correspond to a location at screen 13 that displayselements 16B.

Operating system 54 may send data including the start location and thecurrent length of gesture 2 from gesture module 24 to UI module 20.Based on the start location of gesture 2 and the length of gesture 2, UImodule 20 may determine that gesture 2 represents a command from theuser to present a second information panel (e.g., information panel 18B)that includes system settings information within user interface 14.

Panel module 22 may send a request to system settings module 58, usingcommunication channels 50, for system settings information to include ascontent within information panel 18B. In response to the request, systemsettings module 58 may retrieve systems settings information (e.g., ascreen brightness value, an on/off status of a Wi-Fi radio, etc.) fromsystem settings data store 60. Panel module 22 may receive and formatthe systems settings information from systems settings module 58. UImodule 20 may update user interface 14 to include the systems settingsinformation as content within information panel 18B.

Receiving the indication of gesture 2 received at screen 13 may cause UImodule 20 to adjust the length (e.g., the panel length) of informationpanel 18B approximately proportionate to the current length of gesture2. UI module 20 may transmit a display command to UID 12 that causes UID12 to output for display, at screen 13, the updated user interface 14that includes information panels 18A and 18B.

In addition, receiving the indication of gesture 2 received at screen 13may cause UI module 20 to update user interface 14 to includeinformation panels 18A and 18B as seesawing information panels. UImodule 20 may adjust the length of information panel 18B as describedabove, and in addition, UI module 20 may reduce the size of informationpanel 18A approximately proportionate to the current length of gesture2. UI module 20 may transmit a display command to UID 12 that causes UID12 to output for display (e.g., at screen 13), the updated userinterface 14 that includes information panels 18A and 18B.

Receiving the indication of gesture 2 received at screen 13 may furthercause UI module 20 to modify the updated user interface 14 to removeinformation panel 18A, or in other words, cause computing device 10 torefrain from outputting for display information panel 18A. UI module 20may modify updated user interface 14 to remove information panel 18A andtransmit a display command to UID 12 that causes UID 12 to refrain fromoutputting for display, at screen 13, information panel 18A (e.g., UID12 may present information panel 18A with a dynamically reducing sizeuntil information panel 18A transitions out of view).

UI module 20 may generate dynamic updates to user interface 14 asgesture module 24 updates the current length of gesture 2. For example,gesture module 24 may determine an increase in the current length ofgesture 2. In response to the increase, and update to the current lengthof gesture 2, UI module 20 may increase the length of information panel18B and decrease the size of information panel 18A approximatelyproportionate to the current length of gesture 2. Likewise, gesturemodule 24 may determine a decrease in the current length of gesture 2.In response to the decrease, and update to the current length of gesture2, UI module 24 may decrease the length of information panel 18B andincrease the size of information panel 18A approximately proportionateto the current length of gesture 2. An update to the current length ofgesture 2 may cause UI module 20 to command UID 12 to output fordisplay, the dynamically updated user interface 14. In this waycomputing device 10 may present information panels 18A and 18B asseesawing information panels. Seesawing information panels may provide aclear indication to the user, performing gesture 2, that informationpanel 18B is the activated information panel of user interface 14, andnot information panel 18A.

Computing device 10 may present information panels at screen 13 inresponse to receiving gestures at specific locations of screen 13.Computing device 10 may output a first group of graphical elementswithin a first region of screen 13 and a second group of graphicalelements within a second region of screen 13 and detect gesture 1 withinthe first region and gesture 2 within the second region. The first groupof one or more graphical elements may correspond to notification iconsand the second group of one or more graphical elements may correspond tostatus icons. For example, UI module 20 update user interface 14 toinclude information panel 18A because the start location of gesture 1corresponds to a location within a region of screen 13 that displayselements 16A. UI module 20 may update user interface 14 to includeinformation panel 18B because the start location of gesture 2corresponds to a location within a region of screen 13 that displayselements 16B. UI module 20 may include information panel 18A as anotification panel because elements 16A represent notification icons andmay include information panel 18B as a settings panel because elements16B represent system status icons.

Computing device 10 may present information panels at screen 13 inresponse to receiving at least one of the first and second gesturesinitiated at an edge of an active region of screen 13. In other words,the first gesture comprises a start location that is at an edge of anactive region of screen 13 and/or the second gesture comprises a startlocation that is at the edge of the active region of screen 13. Forexample, screen 13 may include an active region for detecting userinput. Screen 13 may also include a physical region, outside the activeregion that cannot detect user input (e.g., a physical border around theactive region made of a material, such as plastic or glass, whichprovides structural integrity to screen 13 but cannot detect a userinput). The start location of gesture 1 may correspond to a location ata far edge of the active region of screen 13. And based on the startlocation of gesture 1 corresponding to the far edge of the active regionof screen 13, UI module 20 may update user interface 14 to includeinformation panel 18A. The start location of gesture 2 may correspond toa location at a far edge of the active region of screen 13. And based onthe start location of gesture 2 corresponding to the far edge of theactive region of screen 13, UI module 20 may update user interface 14 toinclude information panel 18B.

The first information panel may correspond to one of a notificationpanel and a settings panel. The second information panel may correspondto one of a notification panel and a settings panel different from thefirst information panel. For example, computing device 10 may presentseesawing information panels in any order determined by the user.Although the examples described above indicate computing device 10receives gesture 1 before gesture 2 and presents information panel 18A(the notification information panel) before presenting information panel18B (the settings information panel), a user may likewise commandcomputing device 10 to present information panels 18A and 18B in anopposite sequence by first providing gesture 2 and then providinggesture 1. In this way, computing device 10 may receive gesture 2 priorto receiving gesture 1 and may present information panel 18B at screen13 before presenting information panel 18A at screen 13.

After computing device 10 outputs for display a subsequent informationpanel, the user may interact with the content contained within thesubsequent information panel by providing a user input at a location atscreen 13 that presents the content. The content of the secondinformation panel may include a plurality of configuration options. Eachof the plurality of configuration options may correspond to a userconfigurable feature of the computing device. Computing device 10 mayreceive an indication of a selection of at least one of the plurality ofconfiguration options. Responsive to receiving the indication of theselection, computing device 10 may modify the user configurable featureof the computing device corresponding to the selected configurationoption.

For example, as illustrated in FIG. 1, information panel 18B includes aplurality of configuration options for modifying system settings. Eachof the plurality of configuration options may corresponds to a userconfigurable feature of the computing device such as adjusting thebrightness of screen 13, enabling/disabling notifications,enabling/disabling a Wi-Fi radio, etc. After UI module 20 causes UID 12to present information panel 18B at screen 13, gesture module 24 mayreceive an indication of a user input received at a location of screen13 and determine a location of the user input. In response to receivingthe indication, UI module 20 may determine the location of the userinput corresponds to a selected configuration option included withininformation panel 18B. UI module 20 may communicate over communicationchannels 50 with system settings module 58 and may send informationabout the selected configuration option to system settings module 58.

Responsive to receiving the information from UI module 20, systemsettings module 58 may command operating system 54 to modify the userconfigurable feature of computing device 10 corresponding to theselected configuration option. For example, the user may select aconfiguration option to adjust screen brightness. Upon command fromsystem settings module 58, operating system 54 may cause UID 12 tomodify the brightness of screen 13. To preserve the brightnessadjustment, system settings module 58 may store the updated brightnesssetting as system settings data within system settings data store 60.

After presenting information panels 18A and 18B at screen 13, computingdevice 10 may receive a command from the user to remove the informationpanels from view. For instance, after displaying information panels 18Aand 18B at screen 13, computing device 10 may receive an indication of athird gesture received at screen 13. Responsive to receiving theindication of the third gesture, computing device 10 may refrain fromoutputting for display information panel 18A and information panel 18B.Or in other words, computing device 10 may modify the updated graphicaluser interface 14 to remove information panel 18A and to remove theinformation panel 18B. For example, gesture module 24 may receive anindication of a user input detected at screen 13 of UID 12. Gesturemodule 24 may determine the user input represents a gesture with a startlocation coinciding with a location at screen 13 that does not displayeither information panel 18A or 18B. In response to gesture module 24determining the start location of the gesture coincides with a locationat screen 13 where neither information panel 18A nor 18B is displayed,UI module 20 may update user interface 14 to remove both informationpanels 18A and 18B.

Computing device 10 may receive a command from the user to remove asingle information panel from view by providing a swipe up gesture thatstarts at a location at screen 13 displaying the bottom edge of theinformation panel. After displaying information panels 18A and 18B atscreen 13 in response to receiving gestures 1 and 2, computing device 10may receive an indication of a third gesture detected at a location ofscreen 13. The third gesture may have a length (e.g., a third gesturelength). In response to determining the length of the third gestureexceeds a threshold, computing device 10 may modify, based on thelocation of screen 13 at which the third gesture was detected, theupdated graphical user interface 14 to remove one of information panel18A and information panel 18B. Or in other words, in response to thethird gesture, computing device 10 may refrain from outputting fordisplay information panel 18A and information panel 18B.

For example, gesture module 24 may receive an indication of a user inputdetected at screen 13 of UID 12 and determine the user input representsa gesture with a start location that coincides with a location at screen13 that displays the bottom edge of information panel 18B. Gesturemodule 24 may likewise determine the length of the gesture. In responseto gesture module 24 determining the start location of the gesturecoinciding with the location at screen 13 that displays the bottom edgeof information panel 18B, UI module 20 may compare the length of thegesture to a threshold. The threshold may represent the minimum gesturelength required to remove a single information panel (e.g., one halfinch). Based on the comparison, UI module 20 may determine the length ofthe gesture exceeds the threshold. In response to determining the lengthof the gesture exceeds the threshold and the start location of thegesture corresponds to the bottom edge of information panel 18B, UImodule 20 may update user interface 14 to remove information panels 18B.

In addition to presenting information panels based on a length of agesture, computing device 10 may present information panels based oncontent within an information panel. The first information panel mayinclude content having a content size. The size of the first informationpanel may be based at least in part on the content size. The secondinformation panel may include content having a content length. Thelength of the second information panel may be based at least in part onthe content length.

For instance, content included within an information panel may have acorresponding content length and content size. Content length mayindicate a preferred physical distance on a screen to present thecontent to a user. Content size may indicate a preferred physical areaon a screen to present the content to a user. In response to gesture 1and gesture 2, UI module 20 may include seesawing information panels 18Aand 18B within updated user interface 14 (as described above). However,rather than cause UID 12 to present information panel 18A at screen 13with a length approximately proportionate to the length of gesture 1, UImodule 20 may adjust the size of information panel 18A to correspond tothe size of content included in information panel 18A. In response togesture 1, UI module 20 may include information panel 18A within updateduser interface 14 (as described above). Likewise, rather than cause UID12 to present information panel 18B at screen 13 with a lengthapproximately proportionate to the length of gesture 2, UI module 20 mayadjust the length of information panel 18B to correspond to the lengthof content included in information panel 18B.

FIGS. 3A-3D are conceptual diagrams illustrating example graphical userinterfaces for presenting multiple seesawing information panels, inaccordance with one or more aspects of the present disclosure. FIGS.3A-3D are described below within the context of computing device 10 ofFIG. 1 and FIG. 2. For example, computing device 10 may present userinterfaces 300A-300D as shown in the examples of FIGS. 3A-3D.

FIG. 3A illustrates user interface 300A that includes information panel318A extending downward as a user of computing device 10 performsgesture 310A on a screen (e.g., screen 13 of computing device 10)presenting user interface 300A. For example, gesture module 24 ofcomputing device 10 may receive an indication of gesture 310A receivedat screen 13 of computing device 10. Gesture module 24 may determine acurrent length of gesture 310A and a start location of gesture 310A. Inresponse to gesture 310A, UI module 20 may update user interface 300A toinclude information panel 318A with a size approximately proportionateto the current length of gesture 310A.

FIG. 3B illustrates user interface 300B as being updated user interface300B including subsequent information panel 319B extending downward as auser of computing device 10 performs gesture 310B at screen 13. Gesturemodule 24 of computing device 10 may determine a current length ofgesture 310B and a start location of gesture 310B. UI module 20 mayupdate user interface 300B to include information panel 319B with alength approximately proportionate to the length of gesture 310B. UImodule 20 may also update user interface 300B to reduce the size ofinformation panel 318B approximately proportionate to the length ofgesture 310B (decreasing arrow 320B indicates the reduction in size ofinformation panel 318B).

In addition to the reduction in size to information panel 318B, userinterface 300B illustrates that computing device 10 may cause areduction in brightness of information panel 318B. For example, inupdating user interface 300B in response to gesture 310B, UI module 20of computing device 10 may reduce a brightness of user interface 300Bexcept for a region of user interface 300B that includes informationpanel 318B.

FIG. 3C illustrates user interface 300C as an updated user interfacepresented by computing device 10. FIG. 3C illustrates information panel319C extending downwards as the user performs gesture 310C on thescreen. Gesture module 24 of computing device 10 may determine a currentlength of gesture 310C and a start location of gesture 310C.

UI module 20 may update user interface 300C to include information panel319C with a length approximately proportionate to the length of gesture310C. UI module 20 may also update user interface 300C to reduce thesize of information panel 318C approximately proportionate to the lengthof gesture 310C (decreasing arrow 320C indicates the reduction in sizeof information panel 318B). Computing device 10 may reduce thebrightness of the regions of user interface 300C based on the length ofinformation panel 319B. For example, as gesture module 24 determinesthat the current length of gesture 310C increases, UI module 20 maycause the brightness of information panel 318C to darken. A side-by-sidecomparison FIG. 3B and FIG. 3C illustrates that, as the length ofgesture 310C increases beyond the length of gesture 310B, informationpanel 318C becomes darker than information panel 318B.

In addition to the reduction in size and brightness of information panel318C, increasing arrow 330C of FIG. 3C illustrates an increase in lengthof information panel 319C, approximately proportionate to the length ofgesture 310C and beyond the length and/or size of the contents containedwithin information panel 319C. UI module 20 may determine the contentsize of the contents contained within information panel 319C and allow auser to extend the length of information panel 319C beyond the contentsize. UI module 20 may determine the current length of gesture 310Cexceeds the content size and content length of information panel 319Cand modify the region of information panel 319C beyond the content sizeto appear grey when presented at screen 13. Increasing arrow 330C ofFIG. 3C illustrates grey region 340C of information panel 319C to showhow the length of gesture 310C and the length of information panel 319Cmay exceed the length and/or size of the content within informationpanel 319C.

FIG. 3D illustrates user interface 300D as an updated user interfacepresented by computing device 10. FIG. 3D illustrates information panels318D and 319D extending upwards (e.g., reducing in size and/or length)automatically without any further gesture from the user detected atscreen 13 of computing device 10. For example, gesture module 24 maydetermine a start location, an end location, and a current (final)length of gesture 310C of FIG. 3. UI module 20 may update user interface300D to reduce the size of information panel 318D based on the finallength of gesture 310C of FIG. 3 determined by gesture module 24. UImodule 20 may modify user interface 300D and remove information panel318D from user interface 300D after determining the final length ofgesture 310C of FIG. 3 causes a reduction in size to information panel318D beyond a maximum reduction in size (as illustrated by decreasingarrow 320D).

FIG. 3D also illustrates one example of a “snap back” feature ofcomputing device 10. Decreasing arrow 330D illustrates a snap backfeature of computing device 10 that prevents an information panel fromretaining, after the end of a gesture, a length that exceeds the contentlength of content within the information panel. UI module 20 maydetermine the length of information panel 319D exceeds the contentlength of content included in information panel 319D. In response togesture module 24 detecting an end of gesture 310C, UI module 20 maymodify user interface 300D to reduce the length of information panel319D so the length of information panel 319D does not exceed the contentlength of the contents included in information panel 319D.

FIGS. 4A-4D are conceptual diagrams illustrating additional examplegraphical user interfaces for presenting multiple seesawing informationpanels, in accordance with one or more aspects of the presentdisclosure. FIGS. 4A-4D are described below within the context ofcomputing device 10 of FIG. 1 and FIG. 2. For example, computing device10 may present user interfaces 400A-400D as shown in the examples ofFIGS. 4A-4D.

FIG. 4A illustrates user interface 400A that includes information panel418A extending downward as a user of computing device 10 performsgesture 410A on a screen (e.g., screen 13 of computing device 10)presenting user interface 400A. For example, gesture module 24 ofcomputing device 10 may receive an indication of gesture 410A receivedat screen 13 of computing device 10. Gesture module 24 may determine acurrent length of gesture 410A and a start location of gesture 410A. Inresponse to gesture 410A, UI module 20 may update user interface 400A toinclude information panel 418A with a size approximately proportionateto the current length of gesture 410A.

FIG. 4B illustrates user interface 400B as being updated user interface400B as a user of computing device 10 performs gesture 410B at screen13. User interface 400B includes information panel 419B extendingdownward and overlapping information panel 418B as the user performsgesture 410B at screen 13. In other words, rather than presentside-by-side information panels, computing device 10 may presentoverlapping information panels at screen 13 where the second informationpanel (information panel 419B) overlaps the first information panel(information panel 418B).

For example, gesture module 24 of computing device 10 may determine astart location and a current length of gesture 410B. UI module 20 mayupdate user interface 400B to include information panel 419B overlappinginformation panel 418B, with a length of information panel 419Bapproximately proportionate to the length of gesture 410B. UI module 20may also update user interface 400B to reduce the size of informationpanel 418B approximately proportionate to the length of gesture 410B(decreasing arrow 420B indicates the reduction in size of informationpanel 418B) and likewise, decrease the brightness of information panel418B.

FIG. 4C illustrates user interface 400C as an updated user interfacepresented by computing device 10. FIG. 4C illustrates information panel419C extending downwards as the user performs gesture 410C at screen 13.Gesture module 24 of computing device 10 may determine a current lengthof gesture 410C and a start location of gesture 410C. UI module 20 mayupdate user interface 400C to include information panel 419C with alength approximately proportionate to the length of gesture 410C. UImodule 20 cause screen 13 to present updated user interface 400C thatincludes information panel 419 completely overlapping information panel418B of FIG. 4B.

In addition to the increase in length of information panel 419C, greyregion 440C of information panel 419C along with increasing arrow 430C,illustrate an increase in length of information panel 419C,approximately proportionate to the length of gesture 410C and beyond thelength and/or size of the content contained within information panel419C. UI module 20 may determine the content size of the contentscontained within information panel 419C and allow a user to extend thelength of information panel 419C beyond the content size. UI module 20may determine the current length of gesture 410C exceeds the contentsize and content length of information panel 419C. UI module 20 maymodify the region of information panel 419C that extends beyond thecontent size, to appear grey when presented at screen 13. Increasingarrow 430C and grey region 440C illustrate the length of informationpanel 419C exceeding the length and/or size of the contents withininformation panel 419C.

FIG. 4D illustrates updated user interface 400D as an updated userinterface to show a “snap back” feature of computing device 10.Decreasing arrow 430D illustrates a snap back feature of computingdevice 10 that prevents an information panel from retaining, after theend of a gesture, a length that exceeds the content length of contentwithin the information panel. UI module 20 may determine the length ofinformation panel 419D exceeds the content length of content included ininformation panel 319D. In response to gesture module 24 detecting anend of gesture 410C, UI module 20 may modify user interface 400D toreduce the length of information panel 419D so the length of informationpanel 419D does not exceed the content length of the contents includedin information panel 419D.

In other words, as described above, gesture module 24 may present asecond information panel (e.g., information panel 419D) in response togesture module 24 detecting a start location and a current length of asecond gesture (e.g., gesture 410C). As the user continues to input thesecond gesture, gesture module 24 may update the current length of thesecond gesture. Gesture module 24 may detect an increase in the lengthof the second gesture that exceeds the content length of contentincluded in the second information panel (e.g., information panel 419D).Responsive to detecting the increase in the length of the secondgesture, UI module 20 may modify updated user interface 400D to increasethe length of the second information panel. Gesture module 24 may detectan end of the second gesture. Responsive to detecting the end of thesecond gesture, UI module 20 may modify, based on the increase, theupdated graphical user interface to reduce the size of the secondinformation panel (illustrated by decreasing arrow 430D).

Computing device 10 may present additional seesawing information panelsbeyond a first and a second subsequent seesawing information panel. Forinstance, computing device 10 may present third, fourth, etc.information panels as computing device 10 receives third, fourth, etc.user gestures at screen 13. In other words, after computing device 10presents information panel 419D at screen 13, gesture module 24 mayreceive an indication of a third gesture received at screen 13. Gesturemodule 24 may determine a start location and a current length of thethird gesture. Responsive to receiving the indication of the thirdgesture, UI module 20 may modify updated user interface 400D and causescreen 13 to output for display a third information panel at leastpartially in place of the second information panel (e.g., informationpanel 419D). The third information panel may have a size approximatelycorresponding to the current length of the third gesture. In addition,UI module 20 may reduce the brightness of the second information panel(e.g., information panel 419D) approximately proportion to the length ofthe third gesture.

FIG. 5 is a flowchart illustrating an example operation of the computingdevice, in accordance with one or more aspects of the presentdisclosure. The process of FIG. 5 may be performed by one or moreprocessors of a computing device, such as computing device 10illustrated in FIG. 1 and FIG. 2. For purposes of illustration, FIG. 5is described below within the context of computing devices 10 of FIG. 1and FIG. 2.

Computing device 10 may receive an indication of a first gesturereceived at an input device (500). For example, gesture module 24 ofcomputing device 10 may detect gesture 1 based on a user touching apresence-sensitive screen of UID 12. Computing device 10 may output, fordisplay, a first information panel having a size (510). For example, UImodule 20 may, in response to gesture module 24 detecting gesture 1,cause UID 12 to present user interface 14 including information panel18A.

Computing device 10 may receive an indication of a second gesturereceived at the input device (520). For example, gesture module 24 maydetect gesture 2 based on the user touching the presence-sensitivescreen of UID 12. Computing device 10 may output, for display, a secondinformation panel having a panel length that corresponds to a gesturelength of the second gesture (530). For example, in response to gesturemodule 24 detecting gesture 2, UI module 20 may cause UID 12 to presentan updated user interface 14 that includes information panel 18B.Gesture module 24 may determine a gesture length of gesture 2 and UImodule 20 may cause UID 12 to present the updated user interface 14 withinformation panel 18B having a panel length that corresponds to thegesture length of gesture 2. In other words, as the gesture length ofgesture 2 increases, UI module 20 may cause UID 12 to presentinformation panel 18B with a panel length that dynamically increases.Conversely, as the gesture length of gesture 2 decreases, UI module 20may cause UID 12 to present information panel 18B with a panel lengththat dynamically decreases.

In one or more examples, the functions described may be implemented inhardware, software, firmware, or any combination thereof. If implementedin software, the functions may be stored on or transmitted over, as oneor more instructions or code, a computer-readable medium and executed bya hardware-based processing unit. Computer-readable media may includecomputer-readable storage media, which corresponds to a tangible mediumsuch as data storage media, or communication media including any mediumthat facilitates transfer of a computer program from one place toanother, e.g., according to a communication protocol. In this manner,computer-readable media generally may correspond to (1) tangiblecomputer-readable storage media, which is non-transitory or (2) acommunication medium such as a signal or carrier wave. Data storagemedia may be any available media that can be accessed by one or morecomputers or one or more processors to retrieve instructions, codeand/or data structures for implementation of the techniques described inthis disclosure. A computer program product may include acomputer-readable medium.

By way of example, and not limitation, such computer-readable storagemedia can comprise RAM, ROM, EEPROM, CD-ROM or other optical diskstorage, magnetic disk storage, or other magnetic storage devices, flashmemory, or any other medium that can be used to store desired programcode in the form of instructions or data structures and that can beaccessed by a computer. Also, any connection is properly termed acomputer-readable medium. For example, if instructions are transmittedfrom a website, server, or other remote source using a coaxial cable,fiber optic cable, twisted pair, digital subscriber line (DSL), orwireless technologies such as infrared, radio, and microwave, then thecoaxial cable, fiber optic cable, twisted pair, DSL, or wirelesstechnologies such as infrared, radio, and microwave are included in thedefinition of medium. It should be understood, however, thatcomputer-readable storage media and data storage media do not includeconnections, carrier waves, signals, or other transient media, but areinstead directed to non-transient, tangible storage media. Disk anddisc, as used herein, includes compact disc (CD), laser disc, opticaldisc, digital versatile disc (DVD), floppy disk and Blu-ray disc, wheredisks usually reproduce data magnetically, while discs reproduce dataoptically with lasers. Combinations of the above should also be includedwithin the scope of computer-readable media.

Instructions may be executed by one or more processors, such as one ormore digital signal processors (DSPs), general purpose microprocessors,application specific integrated circuits (ASICs), field programmablelogic arrays (FPGAs), or other equivalent integrated or discrete logiccircuitry. Accordingly, the term “processor,” as used herein may referto any of the foregoing structure or any other structure suitable forimplementation of the techniques described herein. In addition, in someaspects, the functionality described herein may be provided withindedicated hardware and/or software modules. Also, the techniques couldbe fully implemented in one or more circuits or logic elements.

The techniques of this disclosure may be implemented in a wide varietyof devices or apparatuses, including a wireless handset, an integratedcircuit (IC) or a set of ICs (e.g., a chip set). Various components,modules, or units are described in this disclosure to emphasizefunctional aspects of devices configured to perform the disclosedtechniques, but do not necessarily require realization by differenthardware units. Rather, as described above, various units may becombined in a hardware unit or provided by a collection ofinteroperative hardware units, including one or more processors asdescribed above, in conjunction with suitable software and/or firmware.

Various embodiments of the invention have been described. These andother embodiments are within the scope of the following claims.

What is claimed is:
 1. A method comprising: receiving, by a computingdevice, an indication of a first gesture received at an input device;responsive to receiving the indication of the first gesture, outputting,by the computing device, for display, a graphical user interface thatincludes a first information panel, the first information panel being ofa first length; receiving, by the computing device, an indication of asecond gesture detected at the input device; and responsive to receivingthe indication of the second gesture, outputting, by the computingdevice, for display, an updated graphical user interface that includesthe first information panel and a second information panel, such that: alength of the second information panel is determined based at least inpart on a length of the second gesture, and the first information panelis of a second length, wherein the second length is less than the firstlength, the second length being based on the length of the secondgesture.
 2. The method of claim 1, wherein the second length of thefirst information panel and the length of the second information paneldiffer proportionally to the length of the second gesture.
 3. The methodof claim 1, further comprising: responsive to determining a change inthe length of the second gesture: reducing, by the computing device andbased on the change in the length of the second gesture, the length ofthe second information panel; and increasing, by the computing deviceand based on the change in the length of the second gesture, the secondlength of the first information panel.
 4. The method of claim 1, furthercomprising: responsive to determining a change in the length of thesecond gesture: increasing, by the computing device and based on thechange in the length of the second gesture, the length of the secondinformation panel; and reducing, by the computing device and based onthe change in the length of the second gesture, the second length of thefirst information panel.
 5. The method of claim 1, further comprising:responsive to receiving the indication of the second gesture, modifying,by the computing device, the updated graphical user interface to removethe first information panel.
 6. The method of claim 1, wherein the inputdevice comprises a presence-sensitive screen, the method furthercomprising: outputting, by the computing device, for display, a firstgroup of one or more graphical elements within a first region of thepresence-sensitive screen and a second group of one or more graphicalelements within a second region of the presence-sensitive screen,wherein the first gesture is detected within the first region and thesecond gesture is detected within the second region.
 7. The method ofclaim 1, wherein the second information panel includes a plurality ofconfiguration options, each of the plurality of configuration optionscorresponding to a user configurable feature of the computing device,the method further comprising: receiving, by the computing device, anindication of a selection of at least one of the plurality ofconfiguration options; and responsive to receiving the indication of theselection, modifying, by the computing device, the user configurablefeature of the computing device corresponding to the selectedconfiguration option.
 8. The method of claim 1, further comprising:responsive to receiving an indication of a third gesture received at theinput device, modifying, by the computing device, the updated graphicaluser interface to remove the first information panel and to remove thesecond information panel.
 9. The method of claim 1, wherein the inputdevice comprises a presence-sensitive screen, the method furthercomprising: receiving, by the computing device, an indication of a thirdgesture received at a location of the presence-sensitive screen; andresponsive to determining a length of the third gesture exceeds athreshold, modifying, by the computing device and based on the locationof the presence-sensitive screen at which the third gesture wasreceived, the updated graphical user interface to remove one of thefirst information panel and the second information panel.
 10. The methodof claim 1, wherein the second information panel includes content havinga length, the method further comprising: responsive to detecting anincrease in the length of the second gesture that exceeds the length ofthe content included in the second information panel, increasing, by thecomputing device and based on the increase in the length of the secondgesture, the length of the second information panel; and responsive todetecting an end of the second gesture, reducing, by the computingdevice and based on the increase in the length of the second gesture,the length of the second information panel.
 11. A computer-readablestorage medium comprising instructions that, when executed, configureone or more processors of a computing device to: receive an indicationof a first gesture received at an input device; responsive to receivingthe indication of the first gesture, output, for display, a graphicaluser interface that includes a first information panel, the firstinformation panel being of a first length; receive an indication of asecond gesture detected at the input device; and responsive to receivingthe indication of the second gesture, output, for display, an updatedgraphical user interface that includes the first information panel and asecond information panel, such that: a length of the second informationpanel is determined based at least in part on a length of the secondgesture, and the first information panel is of a second length, whereinthe second length is less than the first length, the second length beingbased on the length of the second gesture.
 12. The computer-readablestorage medium of claim 11, wherein the second length of the firstinformation panel and the length of the second information panel differproportionally to the length of the second gesture.
 13. Thecomputer-readable storage medium of claim 11, further comprisinginstructions that, when executed, configure the one or more processorsof the computing device to: responsive to determining a change in thelength of the second gesture: reduce, based on the change in the lengthof the second gesture, the length of the second information panel; andincrease, based on the change in the length of the second gesture, thesecond length of the first information panel.
 14. The computer-readablestorage medium of claim 11, further comprising instructions that, whenexecuted, configure the one or more processors of the computing deviceto: responsive to receiving the indication of the second gesture,modify, the updated graphical user interface to remove the firstinformation panel.
 15. The computer-readable storage medium of claim 11,further comprising instructions that, when executed, configure the oneor more processors of the computing device to: receive, an indication ofa third gesture received at a location of the input device; andresponsive to determining a length of the third gesture exceeds athreshold, modify, based on the location of the input device at whichthe third gesture was received, the updated graphical user interface toremove one of the first information panel and the second informationpanel.
 16. A computing device comprising: an input device; one or moreprocessors; and at least one module operable by the one or moreprocessors to: receive an indication of a first gesture received at theinput device; responsive to receiving the indication of the firstgesture, output, for display, a graphical user interface that includes afirst information panel, the first information panel being of a firstlength; receive an indication of a second gesture detected at the inputdevice; and responsive to receiving the indication of the secondgesture, output, for display, an updated graphical user interface thatincludes the first information panel and a second information panel,such that: a length of the second information panel is determined basedat least in part on a length of the second gesture, and the firstinformation panel is of a second length, wherein the second length isless than the first length, the second length being based on the lengthof the second gesture.
 17. The computing device of claim 16, wherein thesecond length of the first information panel and the length of thesecond information panel differ proportionally to the length of thesecond gesture.
 18. The computing device of claim 16, wherein the atleast one module is further operable by the one or more processors to:responsive to determining a change in the length of the second gesture:reduce, based on the change in the length of the second gesture, thelength of the second information panel; and increase, based on thechange in the length of the second gesture, the second length of thefirst information panel.
 19. The computing device of claim 16, whereinthe at least one module is further operable by the one or moreprocessors to: responsive to receiving the indication of the secondgesture, modify, the updated graphical user interface to remove thefirst information panel.
 20. The computing device of claim 16, whereinthe second information panel includes content having a length and the atleast one module is further operable by the one or more processors to:responsive to detecting an increase in the length of the second gesturethat exceeds the length of the content included in the secondinformation panel, increase, based on the increase, the length of thesecond information panel; and responsive to detecting an end of thesecond gesture, reduce, based on the increase, the length of the secondinformation panel.